Building CPU Stubs to Optimize CPU Bound Systems: An Application of Dynamic Performance Stubs
نویسندگان
چکیده
Dynamic performance stubs provide a framework for the simulation of the performance behavior of software modules and functions. Hence, they can be used as an extension to software performance engineering methodologies. The methodology of dynamic performance stubs can be used for a gain oriented performance improvement. It is also possible to identify “hidden” bottlenecks and to prioritize optimization possibilities. Nowadays, the processing power of CPUs is mainly increased by adding more cores to the architecture. To have benefits from this, new software is mostly designed for parallel processing, especially, in large software projects. As software performance optimizations can be difficult in these environments, new methodologies have to be defined. This paper evaluates a possibility to simulate the functional behavior of software algorithms by the use of the simulated software functionality. These can be used by the dynamic performance stub framework, e.g., to build a CPU stub, to replace the algorithm. Thus, it describes a methodology as well as an implementation and evaluates both in an industrial case study. Moreover, it presents an extension to the CPU stubs by applying these stubs to simulate multi-threaded applications. The extension is evaluated by a case study as well. We show show that the functionality of software algorithms can be replaced by software simulation functions. This stubbing approach can be used to create dynamic performance stubs, such as CPU stubs. Additionally, we show that the concept of CPU stubs can be applied to multi-threaded applications. Keywords-software performance optimization; CPU bound systems; simulated software functionality; stubs; multi-core; multithreaded
منابع مشابه
How to Handle CPU Bound Systems: A Specialization of Dynamic Performance Stubs to CPU Stubs
Dynamic performance stubs provide a framework for the simulation of the performance behavior of software modules and functions. They can be used to realize a cost-benefit analysis of the gain from performance optimization and therefore, for a gain oriented improvement. It is also possible to identify “hidden” bottlenecks and the most relevant optimization candidates. This paper classifies sever...
متن کاملHow to Handle CPU Bound Systems: A Spezialization of Dynamic Performance Stubs to CPU Stubs
Dynamic performance stubs provide a framework for the simulation of the performance behavior of software modules and functions. They can be used to realize a cost-benefit analysis of the gain from performance optimization and therefore, for a gain oriented improvement. It is also possible to identify “hidden” bottlenecks and the most relevant optimization candidates. This paper classifies sever...
متن کاملThe Concept of Memory Stubs as a Specialization of Dynamic Performance Stubs to Simulate Memory Access Behavior
Dynamic performance stubs provide a framework for the simulation of the performance behavior of software modules and functions. Stubs can be used for a cost-benefit analysis of the gain from performance optimization and therefore, for a gain oriented performance improvement, and can be also be used to identify “hidden” bottlenecks and the most relevant candidates for optimization. This paper ev...
متن کاملPerformance Improvement Using Dynamic Performance Stubs
Dynamic Performance Stubs support performance improvement. They can be used to identify “hidden” bottlenecks and also to provide better estimations of the gain from performance improvement. The idea behind these stubbing mechanism will be described, the core concept will be explained and a closer look on the possibility of creating stubs will be given. Furthermore an introduction on “How to use...
متن کاملReducing Exit Stub Memory Consumption in Code Caches
The interest in translation-based virtual execution environments (VEEs) is growing with the recognition of their importance in a variety of applications. However, due to constrained memory and energy resources, developing a VEE for an embedded system presents a number of challenges. In this paper we focus on the VEE’s memory overhead, and in particular, the code cache. Both code traces and exit...
متن کامل